﻿
namespace Data.Entity
{
	using System;

	public class Address
	{
		#region Constructor

		public Address() { }

		public Address(
					int addressId,
					bool isBillingAddress,
					string firstName,
					string lastName,
					string phoneNumber,
					string mobileNumber,
					string email,
					string faxNumber,
					string company,
					string address1,
					string address2,
					int cityID,
					int stateProvinceID,
					string zipPostalCode,
					int countryID,
					DateTime createdOn,
					DateTime updatedOn,
					Guid userID)
		{
			AddressId = addressId;
			IsBillingAddress = isBillingAddress;
			FirstName = firstName;
			LastName = lastName;
			PhoneNumber = phoneNumber;
			MobileNumber = mobileNumber;
			Email = email;
			FaxNumber = faxNumber;
			Company = company;
			Address1 = address1;
			Address2 = address2;
			CityID = cityID;
			StateProvinceID = stateProvinceID;
			ZipPostalCode = zipPostalCode;
			CountryID = countryID;
			CreatedOn = createdOn;
			UpdatedOn = updatedOn;
			UserID = userID;
		}

		#endregion

		#region properties

		public int AddressId { get; set; }

		public bool IsBillingAddress { get; set; }

		public string FirstName { get; set; }

		public string LastName { get; set; }

		public string PhoneNumber { get; set; }

		public string Email { get; set; }

		public string FaxNumber { get; set; }

		public string Company { get; set; }

		public string Address1 { get; set; }

		public string Address2 { get; set; }

		public int CityID { get; set; }

		public int StateProvinceID { get; set; }

		public string ZipPostalCode { get; set; }

		public int CountryID { get; set; }

		public DateTime CreatedOn { get; set; }

		public DateTime UpdatedOn { get; set; }

		public Guid UserID { get; set; }

		public string MobileNumber { get; set; }

		#endregion
	}

	public class Category
	{
		#region Constructor

		public Category() { }

		public Category(int categoryID, string name, string description, int parentCategoryID, int pictureID, bool showOnHomePage, bool published, bool deleted, int displayOrder, DateTime createdOn, DateTime updatedOn, int? languageID)
		{
			CategoryID = categoryID;
			CategoryName = name;
			Description = description;
			ParentCategoryID = parentCategoryID;
			PictureID = pictureID;
			ShowOnHomePage = showOnHomePage;
			Published = published;
			Deleted = deleted;
			DisplayOrder = displayOrder;
			CreatedOn = createdOn;
			UpdatedOn = updatedOn;
			LanguageID = languageID;
		}

		#endregion

		#region properties

		public int CategoryID { get; set; }

		public string CategoryName { get; set; }

		public string Description { get; set; }

		public int ParentCategoryID { get; set; }

		public int PictureID { get; set; }

		public bool ShowOnHomePage { get; set; }

		public bool Published { get; set; }

		public bool Deleted { get; set; }

		public int DisplayOrder { get; set; }

		public System.DateTime CreatedOn { get; set; }

		public System.DateTime UpdatedOn { get; set; }

		public int? LanguageID { get; set; }

		#endregion
	}

	public class Country
	{
		#region constructor

		public Country() { }

		public Country(int countryID, string name, bool allowsRegistration, bool allowsBilling, bool allowsShipping, string twoLetterISOCode, string threeLetterISOCode, int numericISOCode, bool published, int displayOrder)
		{
			CountryID = countryID;
			Name = name;
			AllowsRegistration = allowsRegistration;
			AllowsBilling = allowsBilling;
			AllowsShipping = allowsShipping;
			TwoLetterISOCode = twoLetterISOCode;
			ThreeLetterISOCode = threeLetterISOCode;
			NumericISOCode = numericISOCode;
			Published = published;
			DisplayOrder = displayOrder;
		}

		#endregion

		#region properties

		public int CountryID { get; set; }

		public string Name { get; set; }

		public bool AllowsRegistration { get; set; }

		public bool AllowsBilling { get; set; }

		public bool AllowsShipping { get; set; }

		public string TwoLetterISOCode { get; set; }

		public string ThreeLetterISOCode { get; set; }

		public int NumericISOCode { get; set; }

		public bool Published { get; set; }

		public int DisplayOrder { get; set; }

		#endregion
	}

	public class Document
	{
		#region constructor

		public Document() { }

		public Document(int documentID, System.Data.Linq.Binary documentBinary, string extension)
		{
			DocumentID = documentID;
			DocumentBinary = documentBinary;
			Extension = extension;
		}

		#endregion

		#region properties

		public int DocumentID { get; set; }

		public System.Data.Linq.Binary DocumentBinary { get; set; }

		public string Extension { get; set; }

		#endregion
	}

	public class Language
	{
		#region constructor

		public Language() { }

		public Language(int languageId, string name, string languageCulture, string flagImageFileName, bool published, int displayOrder)
		{
			LanguageId = languageId;
			Name = name;
			LanguageCulture = languageCulture;
			FlagImageFileName = flagImageFileName;
			Published = published;
			DisplayOrder = displayOrder;
		}

		#endregion

		#region properties

		public int LanguageId { get; set; }

		public string Name { get; set; }

		public string LanguageCulture { get; set; }

		public string FlagImageFileName { get; set; }

		public bool Published { get; set; }

		public int DisplayOrder { get; set; }

		#endregion
	}

	public class LocalStringResource
	{
		#region constructor

		public LocalStringResource() { }

		public LocalStringResource(int localeStringResourceID, int languageID, string resourceName, string resourceValue)
		{
			LocaleStringResourceID = localeStringResourceID;
			LanguageID = languageID;
			ResourceName = resourceName;
			ResourceValue = resourceValue;
		}

		#endregion

		#region properties

		public int LocaleStringResourceID { get; set; }

		public string ResourceName { get; set; }

		public string ResourceValue { get; set; }

		public int LanguageID { get; set; }

		#endregion
	}

	public class Picture
	{
		#region constructor

		public Picture() { }

		public Picture(int pictureID, System.Data.Linq.Binary pictureBinary, string extension, bool isNew)
		{
			PictureID = pictureID;
			PictureBinary = pictureBinary;
			Extension = extension;
			IsNew = isNew;
		}

		#endregion

		#region properties

		public int PictureID { get; set; }

		public System.Data.Linq.Binary PictureBinary { get; set; }

		public string Extension { get; set; }

		public bool IsNew { get; set; }

		#endregion
	}

	[Serializable]
	public class Product
	{
		#region constructor

		public Product() { }

		public Product(int productId, string name, string shortDescription, string fullDescription, bool showOnHomePage, string metaKeywords, string metaTitle, bool allowUserReviews, bool allowUserRatings, int ratingSum,
			int totalRatingVotes, bool published, bool deleted, global::System.DateTime createdOn, decimal cost, string size, string sizeUnit,
			decimal weight, string weightUnit, decimal listPrice, int quantity, bool? recommend, int? languageID, string productCode, decimal? cashTicketLimit, int? displayOrder)
		{
			ProductID = productId;
			Name = name;
			ShortDescription = shortDescription;
			FullDescription = fullDescription;
			ShowOnHomePage = showOnHomePage;
			MetaKeywords = metaKeywords;
			MetaTitle = metaTitle;
			AllowUserReviews = allowUserReviews;
			AllowUserRatings = allowUserRatings;
			RatingSum = ratingSum;
			TotalRatingVotes = totalRatingVotes;
			Published = published;
			Deleted = deleted;
			CreatedOn = createdOn;
			Cost = cost;
			Size = size;
			SizeUnit = sizeUnit;
			Weight = weight;
			WeightUnit = weightUnit;
			ListPrice = listPrice;
			Quantity = quantity;
			LanguageID = languageID;
			ProductCode = productCode;
			CashTicketLimit = cashTicketLimit;
			DisplayOrder = displayOrder;
		}

		#endregion

		#region properties

		public int ProductID { get; set; }

		public string Name { get; set; }

		public string ShortDescription { get; set; }

		public string FullDescription { get; set; }

		public bool ShowOnHomePage { get; set; }

		public string MetaKeywords { get; set; }

		public string MetaTitle { get; set; }

		public bool AllowUserReviews { get; set; }

		public bool AllowUserRatings { get; set; }

		public int RatingSum { get; set; }

		public int TotalRatingVotes { get; set; }

		public bool Published { get; set; }

		public bool Deleted { get; set; }

		public System.DateTime CreatedOn { get; set; }

		public System.Nullable<System.DateTime> UpdatedOn { get; set; }

		public decimal Cost { get; set; }

		public string Size { get; set; }

		public string SizeUnit { get; set; }

		public System.Nullable<decimal> Weight { get; set; }

		public string WeightUnit { get; set; }

		public System.Nullable<decimal> ListPrice { get; set; }

		public System.Nullable<int> Quantity { get; set; }

		public bool? Recommend { get; set; }

		public int? LanguageID { get; set; }

		public string ProductCode { get; set; }

		public System.Nullable<decimal> CashTicketLimit { get; set; }

		public int? DisplayOrder { get; set; }

		#endregion
	}

	public class ProductAdditionalProperty
	{
		#region constructor

		public ProductAdditionalProperty() { }

		public ProductAdditionalProperty(int productAdditionalPropertyID, int? productID, string propertyName, string propertyValue, int? displayOrder)
		{
			ProductAdditionalPropertyID = productAdditionalPropertyID;
			PropertyName = propertyName;
			ProductID = productID;
			PropertyValue = propertyValue;
			DisplayOrder = displayOrder;
		}

		#endregion

		#region properties

		public int ProductAdditionalPropertyID { get; set; }

		public int? ProductID { get; set; }

		public string PropertyName { get; set; }

		public string PropertyValue { get; set; }

		public int? DisplayOrder { get; set; }

		#endregion
	}

	public class ProductPicture
	{
		#region constructor

		public ProductPicture() { }

		public ProductPicture(int productPictureID, int productID, int pictureID, int displayOrder)
		{
			ProductPictureID = productPictureID;
			DisplayOrder = displayOrder;
			ProductID = productID;
			PictureID = pictureID;
		}

		#endregion

		#region properties

		public int ProductPictureID { get; set; }

		public int ProductID { get; set; }

		public int PictureID { get; set; }

		public int DisplayOrder { get; set; }

		#endregion
	}

	public class ProductRating
	{
		#region constructor

		public ProductRating() { }

		public ProductRating(int productRatingID, int productID, Guid userID, int rating, DateTime ratedOn)
		{
			ProductRatingID = productRatingID;
			ProductID = productID;
			UserID = userID;
			Rating = rating;
			RatedOn = ratedOn;
		}

		#endregion

		#region properties

		public int ProductRatingID { get; set; }

		public int ProductID { get; set; }

		public System.Guid UserID { get; set; }

		public int Rating { get; set; }

		public System.DateTime RatedOn { get; set; }

		#endregion
	}

	public class ProductReview
	{
		#region constructor

		public ProductReview() { }

		public ProductReview(int productReviewID, string iPAddress, string title, string reviewText, int rating, int helpfulYesTotal, int helpfulNoTotal, bool isApproved, global::System.DateTime createdOn)
		{
			ProductReviewID = productReviewID;
			IPAddress = iPAddress;
			Title = title;
			ReviewText = reviewText;
			Rating = rating;
			HelpfulYesTotal = helpfulYesTotal;
			HelpfulNoTotal = helpfulNoTotal;
			IsApproved = isApproved;
			CreatedOn = createdOn;
		}

		#endregion

		#region properties

		public int ProductReviewID { get; set; }

		public int ProductID { get; set; }

		public System.Guid UserID { get; set; }

		public string IPAddress { get; set; }

		public string Title { get; set; }

		public string ReviewText { get; set; }

		public int Rating { get; set; }

		public int HelpfulYesTotal { get; set; }

		public int HelpfulNoTotal { get; set; }

		public bool IsApproved { get; set; }

		public System.DateTime CreatedOn { get; set; }

		public string ReplyText { get; set; }

		public System.Nullable<System.DateTime> RepliedOn { get; set; }

		#endregion
	}

	public class ProductReviewHelpfulness
	{
		#region constructor

		public ProductReviewHelpfulness() { }

		public ProductReviewHelpfulness(int productReviewHelpfulnessID, int productReviewID, Guid userID, bool wasHelpful)
		{
			ProductReviewHelpfulnessID = productReviewHelpfulnessID;
			ProductReviewID = productReviewID;
			UserID = userID;
			WasHelpful = wasHelpful;
		}

		#endregion

		#region properties

		public int ProductReviewHelpfulnessID { get; set; }

		public int ProductReviewID { get; set; }

		public System.Guid UserID { get; set; }

		public bool WasHelpful { get; set; }

		#endregion
	}

	public class ProductTag
	{
		#region constructor

		public ProductTag() { }

		public ProductTag(int productTagID, string name, int productCount, int? languageID)
		{
			ProductTagID = productTagID;
			Name = name;
			ProductCount = productCount;
			LanguageID = languageID;
		}

		#endregion

		#region properties

		public int ProductTagID { get; set; }

		public string Name { get; set; }

		public int ProductCount { get; set; }

		public int? LanguageID { get; set; }

		#endregion
	}

	public class RelatedProduct
	{
		#region constructor

		public RelatedProduct() { }

		public RelatedProduct(int relatedProductID, int productID1, int productID2, int displayOrder)
		{
			RelatedProductID = relatedProductID;
			ProductID1 = productID1;
			ProductID2 = productID2;
			DisplayOrder = displayOrder;
		}

		#endregion

		#region properties

		public int RelatedProductID { get; set; }

		public int ProductID1 { get; set; }

		public int ProductID2 { get; set; }

		public int DisplayOrder { get; set; }

		#endregion
	}

	public class SearchLog
	{
		#region constructor

		public SearchLog() { }

		public SearchLog(int searchLogID, string searchTerm, Guid userID, DateTime createdOn)
		{
			SearchLogID = searchLogID;
			SearchTerm = searchTerm;
			UserID = userID;
			CreatedOn = createdOn;
		}

		#endregion

		#region properties

		public int SearchLogID { get; set; }

		public string SearchTerm { get; set; }

		public System.Guid UserID { get; set; }

		public System.DateTime CreatedOn { get; set; }

		#endregion
	}

	public class StateProvince
	{
		#region constructor

		public StateProvince() { }

		public StateProvince(int stateProvinceID, int countryID, string name, string abbreviation, int displayOrder)
		{
			StateProvinceID = stateProvinceID;
			CountryID = countryID;
			Name = name;
			Abbreviation = abbreviation;
			DisplayOrder = displayOrder;
		}

		#endregion

		#region properties

		public int StateProvinceID { get; set; }

		public int CountryID { get; set; }

		public string Name { get; set; }

		public string Abbreviation { get; set; }

		public int DisplayOrder { get; set; }

		#endregion
	}

	public class UserExtension
	{
		#region constructor

		public UserExtension() { }

		public UserExtension(Guid userID, int affiliateID, int billingAddressID, int shippingAddressID, int lastPaymentMethodID,
			string lastAppliedCouponCode, int languageID, int totalForumPosts, string signature, bool active, bool deleted,
			DateTime registrationDate, int currencyID, string firstName, string lastName, string phoneNumber, string mobileNumber)
		{
			UserID = userID;
			AffiliateID = affiliateID;
			BillingAddressID = billingAddressID;
			ShippingAddressID = shippingAddressID;
			LastPaymentMethodID = lastPaymentMethodID;
			LastAppliedCouponCode = lastAppliedCouponCode;
			LanguageID = languageID;
			TotalForumPosts = totalForumPosts;
			Signature = signature;
			Active = active;
			Deleted = deleted;
			RegistrationDate = registrationDate;
			CurrencyID = currencyID;
			FirstName = firstName;
			LastName = lastName;
			PhoneNumber = phoneNumber;
			MobileNumber = mobileNumber;
		}

		#endregion

		#region properties

		public System.Guid UserID { get; set; }

		public int AffiliateID { get; set; }

		public int BillingAddressID { get; set; }

		public int ShippingAddressID { get; set; }

		public int LastPaymentMethodID { get; set; }

		public string LastAppliedCouponCode { get; set; }

		public int LanguageID { get; set; }

		public int TotalForumPosts { get; set; }

		public string Signature { get; set; }

		public bool Active { get; set; }

		public bool Deleted { get; set; }

		public System.DateTime RegistrationDate { get; set; }

		public int CurrencyID { get; set; }

		public string FirstName { get; set; }

		public string LastName { get; set; }

		public string PhoneNumber { get; set; }

		public string MobileNumber { get; set; }

		#endregion
	}

	public class UserSession
	{
		#region constructor

		public UserSession() { }

		public UserSession(Guid userSessionGUID, Guid userID, DateTime lastAccessed, bool isExpired)
		{
			UserSessionGUID = userSessionGUID;
			UserID = userID;
			LastAccessed = lastAccessed;
			IsExpired = isExpired;
		}

		#endregion

		#region properties

		public System.Guid UserSessionGUID { get; set; }

		public System.Guid UserID { get; set; }

		public System.DateTime LastAccessed { get; set; }

		public bool IsExpired { get; set; }

		#endregion
	}

	public class ShoppingCartItem
	{
		#region constructor

		public ShoppingCartItem() { }

		#endregion

		#region properties

		public int ShoppingCartItemID { get; set; }

		public int ShoppingCartTypeID { get; set; }

		public System.Guid UserID { get; set; }

		public int ProductID { get; set; }

		public System.Xml.Linq.XElement AttributesXML { get; set; }

		public decimal UserEnteredPrice { get; set; }

		public int Quantity { get; set; }

		public System.DateTime CreatedOn { get; set; }

		public System.DateTime UpdatedOn { get; set; }

		#endregion

	}

	public class ShoppingCartType
	{
		#region constructor

		public ShoppingCartType() { }

		#endregion

		#region properties

		public int ShoppingCartTypeID { get; set; }

		public string Name { get; set; }

		#endregion
	}

	public enum ShoppingCartType_Const
	{
		ShoppingCart = 1,
		WishList = 2
	}

	public class Express
	{
		public Express() { }

		#region property

		public int ExpressID { get; set; }

		public string ExpressName { get; set; }

		public string ExpressDescription { get; set; }

		public System.Nullable<bool> IsActive { get; set; }

		public string PhoneNumber { get; set; }

		public string Email { get; set; }

		public string FaxNumber { get; set; }

		public string Address1 { get; set; }

		public string Address2 { get; set; }

		public System.Nullable<int> CityID { get; set; }

		public System.Nullable<int> StateProvinceID { get; set; }

		public System.Nullable<int> CountryID { get; set; }

		#endregion
	}

	public class Order
	{
		public Order() { }

		#region property

		public int OrderID { get; set; }

		//public System.Guid OrderGUID { get; set; }

		public System.Guid UserID { get; set; }

		public int UserLanguageID { get; set; }

		public System.Nullable<int> UserTaxDisplayTypeID { get; set; }

		public string UserIP { get; set; }

		public System.Nullable<decimal> OrderSubtotalInclTax { get; set; }

		public System.Nullable<decimal> OrderSubtotalExclTax { get; set; }

		public System.Nullable<decimal> OrderShippingInclTax { get; set; }

		public System.Nullable<decimal> OrderShippingExclTax { get; set; }

		public System.Nullable<decimal> PaymentMethodAdditionalFeeInclTax { get; set; }

		public System.Nullable<decimal> PaymentMethodAdditionalFeeExclTax { get; set; }

		public System.Nullable<decimal> OrderTax { get; set; }

		public System.Nullable<decimal> OrderTotal { get; set; }

		public System.Nullable<decimal> OrderDiscount { get; set; }

		public System.Nullable<decimal> OrderSubtotalInclTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> OrderSubtotalExclTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> OrderShippingInclTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> OrderShippingExclTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> PaymentMethodAdditionalFeeInclTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> PaymentMethodAdditionalFeeExclTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> OrderTaxInUserCurrency { get; set; }

		public System.Nullable<decimal> OrderTotalInUserCurrency { get; set; }

		public System.Nullable<decimal> OrderDiscountInUserCurrency { get; set; }

		public string UserCurrencyCode { get; set; }

		public string CheckoutAttributeDescription { get; set; }

		public System.Xml.Linq.XElement CheckoutAttributesXML { get; set; }

		public System.Nullable<double> OrderWeight { get; set; }

		public System.Nullable<int> CashTicketId { get; set; }

		public System.Nullable<int> OrderStatusID { get; set; }

		public System.Nullable<bool> AllowStoringCreditCardNumber { get; set; }

		public string CardType { get; set; }

		public string CardName { get; set; }

		public string CardNumber { get; set; }

		public string MaskedCreditCardNumber { get; set; }

		public string CardCVV2 { get; set; }

		public string CardExpirationMonth { get; set; }

		public string CardExpirationYear { get; set; }

		public System.Nullable<int> PaymentMethodID { get; set; }

		public string PaymentMethodName { get; set; }

		public string AuthorizationTransactionID { get; set; }

		public string AuthorizationTransactionCode { get; set; }

		public string AuthorizationTransactionResult { get; set; }

		public string CaptureTransactionID { get; set; }

		public string CaptureTransactionResult { get; set; }

		public string SubscriptionTransactionID { get; set; }

		public string PurchaseOrderNumber { get; set; }

		public System.Nullable<int> PaymentStatusID { get; set; }

		public System.Nullable<System.DateTime> PaidDate { get; set; }

		public System.Nullable<int> ShippingStatusID { get; set; }

		public string ShippingFirstName { get; set; }

		public string ShippingLastName { get; set; }

		public string ShippingPhoneNumber { get; set; }

		public string ShippingEmail { get; set; }

		public string ShippingFaxNumber { get; set; }

		public string ShippingCompany { get; set; }

		public string ShippingAddress1 { get; set; }

		public string ShippingAddress2 { get; set; }

		public string ShippingCity { get; set; }

		public System.Nullable<int> ShippingCityID { get; set; }

		public string ShippingStateProvince { get; set; }

		public System.Nullable<int> ShippingStateProvinceID { get; set; }

		public string ShippingZipPostalCode { get; set; }

		public string ShippingCountry { get; set; }

		public System.Nullable<int> ShippingCountryID { get; set; }

		public string ShippingMethod { get; set; }

		public System.Nullable<int> ShippingRateComputationMethodID { get; set; }

		public System.Nullable<System.DateTime> ShippedDate { get; set; }

		public string TrackingNumber { get; set; }

		public System.Nullable<System.DateTime> DeliveryDate { get; set; }

		public bool Deleted { get; set; }

		public System.DateTime CreatedOn { get; set; }

		public string ShippingMobileNumber { get; set; }

		public string OrderNumber { get; set; }

		public string Remark { get; set; }

		public string InvoicingHeader { get; set; }

		public string InvoicingContent { get; set; }

		public System.Nullable<int> ShippingMethodID { get; set; }

		public System.Nullable<decimal> DiscountLimit { get; set; }

		#endregion
	}

	public class OrderNote
	{
		public OrderNote() { }

		#region property

		public int OrderNoteID { get; set; }

		public int OrderID { get; set; }

		public string Note { get; set; }

		public bool DisplayToUser { get; set; }

		public System.DateTime CreatedOn { get; set; }

		#endregion
	}

	public enum OrderStatuses
	{
		/// <summary>
		/// 交易创建(等待买家付款)。
		/// </summary>
		WAIT_BUYER_PAY = 1,
		/// <summary>
		/// 买家已付款，等待卖家发货
		/// </summary>
		WAIT_SELLER_SEND_GOODS = 2,
		/// <summary>
		/// 卖家已发货，等待买家确认收货
		/// </summary>
		WAIT_BUYER_CONFIRM_GOODS = 3,
		/// <summary>
		/// 交易成功(买家已确认收货，交易结束)
		/// </summary>
		TRADE_FINISHED = 4,
		/// <summary>
		/// 交易关闭(出现情况： 1、 卖家或系统关闭了买家还没有付款的交易 2、 买家申请退款成功)
		/// </summary>
		TRADE_CLOSED = 5,
		/// <summary>
		/// 买家申请退款(进入退款流程)
		/// </summary>
		WAIT_SELLER_AGREE = 6,
		/// <summary>
		/// 卖家拒绝退款(卖家拒绝买家的申请退款，此时买家可再申请退款也可继续走正常的交易流程)
		/// </summary>
		SELLER_REFUSE_BUYER = 7,
		/// <summary>
		/// 卖家同意退款，等待买家退货 (等待买家把货寄回给卖家，当买家选择有收到货时)
		/// </summary>
		WAIT_BUYER_RETURN_GOODS = 8,
		/// <summary>
		/// 买家已退货，等待卖家收到退货(买家已把货寄回给卖家，等待卖家收到退回的货，当买家选择有收到货时)
		/// </summary>
		WAIT_SELLER_CONFIRM_GOODS = 9,
		/// <summary>
		/// 退款成功(交易完成)
		/// </summary>
		REFUND_SUCCESS = 10,
		/// <summary>
		/// 退款关闭(买卖双方终止了退款操作，并走正常交易流程完成了交易)
		/// </summary>
		REFUND_CLOSED = 11
	}

	public class OrderStatus
	{
		public OrderStatus() { }

		#region property

		public int OrderStatusID { get; set; }

		public string Name { get; set; }

		public int? OrderStatusNumber { get; set; }

		#endregion
	}

	public class PaymentMethod
	{
		public PaymentMethod() { }

		#region property

		public int PaymentMethodID { get; set; }

		public string Name { get; set; }

		public string VisibleName { get; set; }

		public string Description { get; set; }

		public string ConfigureTemplatePath { get; set; }

		public string UserTemplatePath { get; set; }

		public string ClassName { get; set; }

		public string SystemKeyword { get; set; }

		public bool IsActive { get; set; }

		public int DisplayOrder { get; set; }

		#endregion
	}

	public enum PaymentStatuses
	{
		NoPay = 1,
		Payed = 2
	}

	public class PaymentStatus
	{
		public PaymentStatus() { }

		#region property

		public int PaymentStatusID { get; set; }

		public string Name { get; set; }

		#endregion
	}

	public class ShippingMethod
	{
		public ShippingMethod() { }

		#region property

		public int ShippingMethodID { get; set; }

		public string Name { get; set; }

		public string Description { get; set; }

		public int DisplayOrder { get; set; }

		public bool IsActive { get; set; }

		#endregion
	}

	public enum ShippingStatuses
	{
		Pending = 1,
		Shipped = 2
	}

	public class ShippingStatus
	{
		public ShippingStatus() { }

		#region property

		public int ShippingStatusID { get; set; }

		public string Name { get; set; }

		#endregion
	}

	public class City
	{
		public City() { }

		#region property

		public int CityID { get; set; }

		public string CityName { get; set; }

		public string CityDescription { get; set; }

		public System.Nullable<int> DisplayOrder { get; set; }

		public System.Nullable<int> StateProvinceID { get; set; }

		#endregion
	}

	public class News
	{
		public News() { }

		#region property

		public int NewsID { get; set; }

		public int LanguageID { get; set; }

		public string Title { get; set; }

		public string ShortContent { get; set; }

		public string FullContent { get; set; }

		public bool Published { get; set; }

		public bool AllowComments { get; set; }

		public System.DateTime CreatedOn { get; set; }


		#endregion
	}

	public class Product_Category_Mapping
	{
		public Product_Category_Mapping() { }

		#region properties

		public int ProductCategoryID
		{
			get;
			set;
		}

		public int ProductID
		{
			get;
			set;
		}

		public int CategoryID
		{
			get;
			set;
		}

		public bool IsFeaturedProduct
		{
			get;
			set;
		}

		public int DisplayOrder
		{
			get;
			set;
		}

		#endregion
	}

	public class ProductTag_Product_Mapping
	{
		public ProductTag_Product_Mapping() { }

		#region properties

		public int ProductTagID
		{
			get;
			set;
		}

		public int ProductID
		{
			get;
			set;
		}

		#endregion
	}

	public class Order_Product_Mapping
	{
		public Order_Product_Mapping() { }

		#region properties

		public int OrderID { get; set; }

		public int ProductID { get; set; }

		public int Quantity { get; set; }

		public System.Nullable<System.DateTime> CreatedOn { get; set; }

		public System.Nullable<System.DateTime> UpdatedOn { get; set; }

		#endregion
	}

	public class ShippingByStateAndProvince
	{
		public ShippingByStateAndProvince() { }

		# region properties

		public int ShippingByStateAndProvinceID { get; set; }

		public int ShippingMethodID { get; set; }

		public int StateAndProvinceID { get; set; }

		public decimal TransportCosts { get; set; }

		#endregion
	}

	public class CashTicket
	{
		public CashTicket() { }

		#region properties

		public int CashTicketID { get; set; }

		public string CashTicketNumber { get; set; }

		public decimal Cost { get; set; }

		public System.Nullable<System.DateTime> ExpiredDate { get; set; }

		public System.Nullable<System.DateTime> CreatedOn { get; set; }

		public int IsUsed { get; set; }

		public System.Guid UserID { get; set; }

		#endregion
	}
}
